/**
 * @filename:PromptConfig 2025-05-14
 * @project starhub-schema  V1.0
 */
package com.starhub.engine.prompt.entity;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;

import lombok.Data;
import java.util.Date;

/**   
 * @Description:(提示词设置实体类)
 * @version: V1.0
 * @author: luosw
 */
@Data
@ApiModel
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class PromptConfig implements Serializable {

	private static final long serialVersionUID = 1747208925188L;
	
    @JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(name = "id" , value = "ID")
	private Long id;
    
	@ApiModelProperty(name = "name" , value = "提示词名称")
	private String name;
    
	@ApiModelProperty(name = "identifier" , value = "提示词标识（英文数字下划线）")
	private String identifier;
    
	@ApiModelProperty(name = "type" , value = "提示词类型（system/user/template/custom）")
	private String type;
    
	@ApiModelProperty(name = "backgroundPrompt" , value = "背景提示词")
	private String backgroundPrompt;
    
	@ApiModelProperty(name = "content" , value = "提示词模板内容")
	private String content;
    
	@ApiModelProperty(name = "description" , value = "提示词描述")
	private String description;
    
	@ApiModelProperty(name = "variables" , value = "变量定义数组")
	private String variables;
    
	@ApiModelProperty(name = "status" , value = "状态（draft/published/archived）")
	private String status;
    
	@ApiModelProperty(name = "version" , value = "版本号")
	private String version;
    
	@ApiModelProperty(name = "tags" , value = "标签数组")
	private String tags;
    
	@ApiModelProperty(name = "modelIds" , value = "适用模型ID列表")
	private String modelIds;
    
	@ApiModelProperty(name = "isPublic" , value = "是否公开（0-否 1-是）")
	private Integer isPublic;
    
	@ApiModelProperty(name = "isTemplate" , value = "是否模板（0-否 1-是）")
	private Integer isTemplate;
    
	@ApiModelProperty(name = "deleteType" , value = "逻辑删除标识（0-未删除，1-已删除）")
	private Integer deleteType;
    
	@ApiModelProperty(name = "createTime" , value = "创建时间")
	private Date createTime;
    
	@ApiModelProperty(name = "updateTime" , value = "修改时间")
	private Date updateTime;
    
	@ApiModelProperty(name = "creator" , value = "创建人")
	private String creator;
    
	@ApiModelProperty(name = "updater" , value = "更新人")
	private String updater;
    


}
